package vista;

import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;

import modelo.JuegoObservable;
import control.PanelDeAccionesActionListener;

public class PanelDeAcciones extends JPanel{

	private static final long serialVersionUID = 1L;
	
	private GameWindow ventanaAbierta;
	private JuegoObservable juego;
	private JLabel label;
	private JButton boton1;
	private JButton boton2;
	private JButton boton3;
	private GridBagConstraints c;
	
	public PanelDeAcciones(JuegoObservable juegoIniciado, GameWindow ventana){
		
		
		ventanaAbierta = ventana;
		juego = juegoIniciado;
		
		setLayout(new GridBagLayout());
		setBackground(Color.black);
		
		c = new GridBagConstraints();
	
		c.fill = GridBagConstraints.HORIZONTAL;
		boton1 = new JButton("Viajar");
		c.weightx = 0.5;
		c.fill = GridBagConstraints.HORIZONTAL;
	    c.gridx = 0;
	    c.gridy = 1;
	    add(boton1,c);
	    
	    
	    boton2 = new JButton("Visitar");
	    c.fill = GridBagConstraints.HORIZONTAL;
	    c.weightx = 0.5;
	    c.gridx = 1;
	    c.gridy = 1;
	    add(boton2, c);
	 
	    boton3 = new JButton("Pedir Orden de Captura");
	    c.fill = GridBagConstraints.HORIZONTAL;
	    c.weightx = 0.5;
	    c.gridx = 2;
	    c.gridy = 1;
	    add(boton3, c);
	 
	    label = new JLabel(juego.pedirDiaYHora()+", "+juego.obtenerCiudadActualPolicia().obtenerNombre());
	    c.fill = GridBagConstraints.HORIZONTAL;
	    c.ipady = 40;      
	    c.weightx = 0.0;
	    c.gridwidth = 3;
	    c.gridx = 0;
	    c.gridy = 0;
	    label.setForeground(Color.white);
	    add(label, c);
	
	    boton1.addActionListener(new PanelDeAccionesActionListener(ventanaAbierta, juego, this));
		boton2.addActionListener(new PanelDeAccionesActionListener(ventanaAbierta, juego, this));
		boton3.addActionListener(new PanelDeAccionesActionListener(ventanaAbierta, juego, this));
	
		boton3.setActionCommand("pedir");
		boton1.setActionCommand("viajar");
		boton2.setActionCommand("visitar");
	    
	}
	
	public void actualizarHoraFechaYCiudad(){
		String nuevaHora = juego.pedirDiaYHora();
		String ciudadActual = juego.obtenerCiudadActualPolicia().obtenerNombre();
		label.setText(nuevaHora+", "+ciudadActual);
	}


}
